<?php
    include_once ("MySql.php");
    include_once ("../entity/Ticket.php");
    include_once ("../entity/Usuarios.php");
    include_once ("../entity/ReporteUsu.php");
    include_once ("../entity/ReporteArea.php");
    
    class ReporteDA extends dal{
        public function ReporteDA(){
            parent::dal();
        }
        public function lstTicket($id_ticket,$fecha_desde,$fecha_hasta){
            $sql = "CALL SGISS_TICKET_REPORT('$id_ticket','$fecha_desde','$fecha_hasta')";
            $result = parent::execute($sql);
            
            while ($fila = mysqli_fetch_object($result)){
                $obj = new Ticket();
                $obj->CODIGO = $fila->CODIGO;
                $obj->ID_TICKET = $fila->ID_TICKET;
                $obj->ID_MULTA = $fila->ID_MULTA;
                $obj->ACTIVIDAD = $fila->ACTIVIDAD;
                $obj->AUDFECCREACION = $fila->AUDFECCREACION;
                $obj->AUDUSUCREACION = $fila->AUDUSUCREACION;
                $obj->AUDFECMODIFICACION = $fila->AUDFECMODIFICACION;
                $obj->AUDUSUMODIFICACION = $fila->AUDUSUMODIFICACION;
                $obj->USUCREACION = $fila->LOGIN;
                $ticket[] = $obj;
            }
            return $ticket;
        }
        public function TicketReport($id_ticket,$id_usuario,$fecha_desde,$fecha_hasta){
            $sql = "CALL SGISS_TICKET_REPORT_USU('$id_ticket',"
                    ."'$id_usuario',"
                    ."'$fecha_desde',"
                    ."'$fecha_hasta')";
            
            $result = parent::execute($sql);
            $fecha = date("Y-m-d");
            $c = 0;
            while($fila = mysqli_fetch_object($result)){
                $c++;
                $obj = new Ticket();
                $obj->ITEM = $c;
                $obj->CODIGO = $fila->CODIGO;
                $obj->ID_TICKET = $fila->ID_TICKET;
                $obj->ID_MULTA = $fila->ID_MULTA;
                $obj->ACTIVIDAD = $fila->ACTIVIDAD;
                $obj->AUDFECCREACION = $fila->AUDFECCREACION;
                $obj->AUDUSUCREACION = $fila->AUDUSUCREACION;
                $obj->AUDFECMODIFICACION = $fila->AUDFECMODIFICACION;
                $obj->AUDUSUMODIFICACION = $fila->AUDUSUMODIFICACION;
                $obj->USUCREACION = $fila->USUCREACION;
                $obj->USUMODIFICACION = $fila->USUMODIFICACION;
                $obj->INICIO = $fila->INICIO;
                $obj->FIN = $fila->FIN;
                
                if($obj->AUDUSUCREACION != NULL && $obj->AUDUSUMODIFICACION == NULL){
                    $inicio = strtotime($fila->INICIO);
                    $fin = strtotime($fecha);
                    $diferencia = abs($inicio-$fin);
                    $dias = floor($diferencia/60/60/24);
                    if($dias < 2){
                        $obj->ESTADO = "ABIERTO";
                    }elseif($dias == 2){
                        $obj->ESTADO = "PENDIENTE";
                    }elseif($dias > 2){
                        $obj->ESTADO = "DESTIEMPO";
                    }
                }elseif($obj->AUDUSUCREACION != NULL && $obj->AUDUSUMODIFICACION != NULL){
                    $inicio = strtotime($fila->INICIO);
                    $fin = strtotime($fila->FIN);
                    $diferencia = abs($inicio-$fin);
                    $dias = floor($diferencia/60/60/24);
                    if($dias <= 2){
                        $obj->ESTADO = "ATENDIDO";
                    }elseif($dias >2){
                        $obj->ESTADO = "ATENDIDO EN DESTIEMPO";
                    }
                }
                $ticket[] = $obj;
            }
            return $ticket;
        }
        public function UsuarioReport($desde,$hasta){
            $sql = "CALL SGISS_REPORTE_TICKET_X_FECHA('$desde','$hasta')";
            $result = parent::execute($sql);
            
            while ($fila = mysqli_fetch_object($result)){
                $obj = new Ticket();
                $obj->CODIGO = $fila->CODIGO;
                $obj->ID_TICKET = $fila->ID_TICKET;
                $obj->ID_MULTA = $fila->ID_MULTA;
                $obj->ACTIVIDAD = $fila->ACTIVIDAD;
                $obj->AREA = $fila->AREA;
                $obj->AUDFECCREACION = $fila->AUDFECCREACION;
                $obj->AUDUSUCREACION = $fila->AUDUSUCREACION;
                $obj->AUDFECMODIFICACION = $fila->AUDFECMODIFICACION;
                $obj->AUDUSUMODIFICACION = $fila->AUDUSUMODIFICACION;
                $obj->USUCREACION = $fila->USUCREACION;
                $obj->USUMODIFICACION = $fila->USUMODIFICACION;
                $ticket[]=$obj;
            }
            return $ticket;
        }
        public function ListaUsuarioXFecha($desde,$hasta){
            $sql = "CALL SGISS_LISTAR_USUARIO_FECHA('$desde','$hasta')";
            $result = parent::execute($sql);
            
            while ($fila = mysqli_fetch_object($result)){
                $rep = new reporteUsu();
                $rep->usuario = $fila->USUCREACION;
                $usuarios[] = $rep;
            }
            return $usuarios;
        }
        public function ListaAreaXFecha($desde,$hasta){
            $sql = "CALL SGISS_LISTAR_AREA_FECHA('$desde','$hasta')";
            $result = parent::execute($sql);
            
            while ($fila = mysqli_fetch_object($result)){
                $rep = new ReporteArea();
                $rep->CODIGO = $fila->CODIGO;
                $rep->DESCRIPCION = $fila->DESCRIPCION;
                $area[] = $rep;
            }
            return $area;
        }
    }
?>
